1253C - Sweets Eating - CodeForces Solution


dp greedy math sortings *1500

Please click on ads to support us..

Python Code:

n,m=map(int,input().split())
a=sorted(map(int,input().split()))
z=[0]*m
s=0
for i in range(n):
    s+=a[i]
    z+=[s+z[i]]
print(*z[m:])
num_inp=lambda: int(input())
arr_inp=lambda: list(map(int,input().split()))
sp_inp=lambda: map(int,input().split())
str_inp=lambda:input()

C++ Code:

#include<bits/stdc++.h>
using namespace std;
#define ll long long

void dfs(vector<bool>& vis,vector<vector<int>>& ed,ll& curr_ed,ll& curr_v,int node)
{
    vis[node]=true;
    curr_v++;
    curr_ed+=ed[node].size();
    for(auto  adj:ed[node])
        if(!vis[adj])
            dfs(vis,ed,curr_ed,curr_v,adj);
}

void solve()
{
    int n,m;
    cin>>n>>m;
    vector<int> arr(n);
    for(int i=0;i<n;i++)
        cin>>arr[i];
    sort(arr.begin(),arr.end());
    //store prefix sum
    vector<ll> pre(n);
    pre[0]=arr[0];
    for(int i=1;i<n;i++)
        pre[i]=pre[i-1]+arr[i];
    vector<ll> ans(n);
    ans[0]=0;
    for(int i=0;i<n;i++)
    {
        ll curr=pre[i];
        ll oth=0;
        if(i>=m)
        {
            curr-=pre[i-m];
            oth+=(ans[i-m]+pre[i-m]);
        }
        curr+=oth;
        ans[i]=curr;
        cout<<curr<<" ";    

    }

}

int main() {
//   int t;
//   cin>>t;
//   while(t--)
//   {
//       cout<<solve()<<endl;
//     // solve();
//   }
    // cout<<solve()<<endl;
   solve();
}


Comments

Submit
0 Comments
More Questions

831B - Keyboard Layouts
814A - An abandoned sentiment from past
268C - Beautiful Sets of Points
1391C - Cyclic Permutations
11A - Increasing Sequence
1406A - Subset Mex
1365F - Swaps Again
50B - Choosing Symbol Pairs
1719A - Chip Game
454B - Little Pony and Sort by Shift
1152A - Neko Finds Grapes
1719B - Mathematical Circus
1719C - Fighting Tournament
1642A - Hard Way
285C - Building Permutation
1719E - Fibonacci Strings
1696C - Fishingprince Plays With Array
1085A - Right-Left Cipher
1508B - Almost Sorted
1690C - Restoring the Duration of Tasks
1055A - Metro
1036D - Vasya and Arrays
1139C - Edgy Trees
37A - Towers
353A - Domino
409H - A + B Strikes Back
1262A - Math Problem
158C - Cd and pwd commands
194A - Exams
1673B - A Perfectly Balanced String